package com.rul.mars.order.service;


import com.rul.mars.mbg.domain.DeliveryParam;
import com.rul.mars.mbg.domain.OrderDetail;
import com.rul.mars.mbg.domain.OrderParam;
import com.rul.mars.mbg.domain.OrderQueryParam;
import com.rul.mars.mbg.model.Order;

import java.util.List;

/**
 * 订单服务
 *
 * @author RuL
 */
public interface OrderService {

    OrderDetail detail(Long id);

    boolean cancelOrder(Long id);

    void confirmReceive(Long id);

    boolean deleteOrder(Long id);

    OrderDetail generateOrder(OrderParam orderParam);

    boolean delivery(DeliveryParam param);

    List<Order> listOrder(OrderQueryParam queryParam, Integer pageNum, Integer pageSize);

    Integer cancelTimeOutOrder();

    OrderDetail generateOrder(Long leaseId);
}
